package dosec

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
)

func ApiloginTokenget() string {
	// 登录 API 的 URL
	loginURL := "http://192.168.3.64:30998/api/v1/user/login"

	// 请求体
	requestBody := map[string]interface{}{
		"jsonStr":  true,
		"username": "root",
		"password": "E32rw1wfssDL",
	}

	// 将请求体转换为 JSON
	jsonData, err := json.Marshal(requestBody)
	if err != nil {
		fmt.Println("Error marshaling JSON:", err)
		//return
	}

	// 发送 POST 请求
	resp, err := http.Post(loginURL, "application/json", bytes.NewBuffer(jsonData))
	if err != nil {
		fmt.Println("Error sending request:", err)
	}
	defer resp.Body.Close()

	// 读取响应体
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("Error reading response body:", err)
		//return
	}

	// 检查响应状态码
	if resp.StatusCode != http.StatusOK {
		fmt.Println("Login failed with status code:", resp.StatusCode)
		fmt.Println("Response body:", string(body))
		//return
	}

	// 从响应头中提取 Access-Token
	accessToken := resp.Header.Get("Access-Token")
	if accessToken == "" {
		fmt.Println("Access-Token not found in response headers")
		//return
	}

	// 打印 Access-Token
	//fmt.Println("Access-Token:", accessToken, reflect.TypeOf(accessToken))
	return accessToken
	// 将 Access-Token 存储到变量中（例如，后续 API 调用）
	// 这里只是打印，你可以将其存储到全局变量或传递给其他函数
}
